﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Converters;

namespace WPF_TY_UI
{
    public class LSBButton : Button
    {
        #region 附加属性 CornerRadius
        public CornerRadius CornerRadius { get { return (CornerRadius)GetValue(CornerRadiusProperty); } set { SetValue(CornerRadiusProperty, value); } }
        public static readonly DependencyProperty CornerRadiusProperty = DependencyProperty.Register("CornerRadius", typeof(CornerRadius), typeof(LSBButton), new PropertyMetadata(default(CornerRadius)));
        #endregion

        #region 附加属性 WaterMark
        public string WaterMark { get { return (string)GetValue(WaterMarkProperty); } set { SetValue(WaterMarkProperty, value); } }
        public static readonly DependencyProperty WaterMarkProperty = DependencyProperty.Register("WaterMark", typeof(string), typeof(LSBButton), new PropertyMetadata(default(string)));
        #endregion


        #region 附加属性 Icon
        public object Icon { get { return (object)GetValue(IconProperty); } set { SetValue(IconProperty, value); } }
        public static readonly DependencyProperty IconProperty = DependencyProperty.Register("Icon", typeof(object), typeof(LSBButton), new PropertyMetadata(default(object)));
        #endregion      

        #region 附加属性 WaterMarkForeground
        public SolidColorBrush WaterMarkForeground { get { return (SolidColorBrush)GetValue(WaterMarkForegroundProperty); } set { SetValue(WaterMarkForegroundProperty, value); } }
        public static readonly DependencyProperty WaterMarkForegroundProperty = DependencyProperty.Register("WaterMarkForeground", typeof(SolidColorBrush), typeof(LSBButton), new PropertyMetadata(default(SolidColorBrush)));
        #endregion
    }

    public class LSBPathButton : LSBButton
    {


        #region 附加属性 IconWith
        public double IconWith { get { return (double)GetValue(IconWithProperty); } set { SetValue(IconWithProperty, value); } }
        public static readonly DependencyProperty IconWithProperty = DependencyProperty.Register("IconWith", typeof(double), typeof(LSBPathButton), new PropertyMetadata(default(double)));
        #endregion



        #region 附加属性 PathData
        public Geometry PathData { get { return (Geometry)GetValue(PathDataProperty); } set { SetValue(PathDataProperty, value); } }
        public static readonly DependencyProperty PathDataProperty = DependencyProperty.Register("PathData", typeof(Geometry), typeof(LSBPathButton), new PropertyMetadata(default(Geometry)));
        #endregion



        #region 附加属性 PathMargin
        public Thickness PathMargin { get { return (Thickness)GetValue(PathMarginProperty); } set { SetValue(PathMarginProperty, value); } }
        public static readonly DependencyProperty PathMarginProperty = DependencyProperty.Register("PathMargin", typeof(Thickness), typeof(LSBPathButton), new PropertyMetadata(default(Thickness)));
        #endregion

    }
}
